// 1.引入axios
import axios from 'axios'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import { getUserTempId } from '@/utils/reg'
import store from '@/store'

// 2.创建axios实例
const ajax = axios.create({
    baseURL:'/api',
    timeout:5000
});


ajax.interceptors.request.use(config=>{
    // 把进度条放到请求头
    // 设置进度条的开始
    NProgress.start();

    // 统一添加请求头
    config.headers.userTempId = getUserTempId();
    const token = store.state.user.userInfo.token
    if(token){
        config.headers.token = token
    }
    return config
});

ajax.interceptors.response.use(res=>{
    // 进度条的结束
    NProgress.done();
    return res.data
},err=>{
    // 进度条结束
    NProgress.done();
    // 如果在此处返回一个非promise值，则会被认为是成功的请求，所以在这里应返回promise对象
    return Promise.reject(new Error(err.message))
    }
)

export default ajax